package jpa;
import java.util.*;

import javax.persistence.*;

@Entity
@Table(name="Encuentro")
public class Encuentro {
	
	private Integer id_encuentro;
	private Seleccion locatario;
	private Seleccion visitante;
	private Date fecha;
	private Integer golesLocatario;
	private Integer golesVisitante;
	private Integer tiempoJuego;
	private Set<Arbitro> arbitros;
	
	@Id
	@Column(name="id_encuentro")
	public Integer getId_encuentro() {
		return id_encuentro;
	}
	public void setId_encuentro(Integer id_encuentro) {
		this.id_encuentro = id_encuentro;
	}
	
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST )
    @JoinColumn(name="local")
	public Seleccion getLocatario() {
		return locatario;
	}
	public void setLocatario(Seleccion locatario) {
		this.locatario = locatario;
	}
	
    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST )
    @JoinColumn(name="visitante")
	public Seleccion getVisitante() {
		return visitante;
	}
	public void setVisitante(Seleccion visitante) {
		this.visitante = visitante;
	}
	
	@Column(name="fecha")
	public Date getFecha() {
		return fecha;
	}
	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}
	
	@Column(name="goles_loc")
	public Integer getGolesLocatario() {
		return golesLocatario;
	}
	public void setGolesLocatario(Integer golesLocatario) {
		this.golesLocatario = golesLocatario;
	}
	
	@Column(name="goles_vis")
	public Integer getGolesVisitante() {
		return golesVisitante;
	}
	public void setGolesVisitante(Integer golesVisitante) {
		this.golesVisitante = golesVisitante;
	}
	
	@Column(name="tiempo_juego")
	public Integer getTiempoJuego() {
		return tiempoJuego;
	}
	public void setTiempoJuego(Integer tiempoJuego) {
		this.tiempoJuego = tiempoJuego;
	}
	
	@ManyToMany
    @JoinTable(
            name="Arbitro_encuentro",
            joinColumns=@JoinColumn(name="id_encuentro"),
            inverseJoinColumns=@JoinColumn(name="pasaporte")
        )
	public Set<Arbitro> getArbitros() {
		return arbitros;
	}
	public void setArbitros(Set<Arbitro> arbitros) {
		this.arbitros = arbitros;
	}
}
